// Auth APIs
import loginAPI from "./authAPI/loginAPI";
import logoutAPI from "./authAPI/logoutAPI";
import refreshTokenAPI from "./authAPI/refreshTokenAPI";
import getPersonalInfoAPI from "./authAPI/getPersonalInfoAPI";
import registerAPI from "./authAPI/registerAPI";
import { sendVerificationCodeAPI } from "./authAPI/sendVerificationCodeAPI";
import { verifyCodeAPI } from "./authAPI/verifyCodeAPI";

// Question APIs
import getAllQuestionsAPI from "./questionAPI/getAllQuestionsAPI";
import getQuestionsByCreatorIdAPI from "./questionAPI/getQuestionsByCreatorIdAPI";
import getQuestionByQuestionIdAPI from "./questionAPI/getQuestionByQuestionIdAPI";
import updateQuestionAPI from "./questionAPI/updateQuestionAPI";
import addQuestionAPI from "./questionAPI/addQuestionAPI";
import deleteQuestionByIdAPI from "./questionAPI/deleteQuestionByIdAPI";

// User APIs
import { addUserAPI } from "./userAPI/addUserAPI";
import { batchDeleteUsersAPI } from "./userAPI/batchDeleteUserAPI";
import { forceDeleteUserAPI } from "./userAPI/forceDeleteUserAPI";
import { getAllUsersAPI } from "./userAPI/getAllUserInfoAPI";
import { getUserByIdAPI } from "./userAPI/getUserByIdAPI";
import { getUserByUsernameAPI } from "./userAPI/getUserByUsernameAPI";
import { getUserListByPageAPI } from "./userAPI/getUserListByPageAPI";
import { resetPasswordAPI } from "./userAPI/resetPasswordAPI";
import { updateUserAPI } from "./userAPI/updateUserAPI";

// File APIs
import { checkFileExistsAPI } from "./fileAPI/checkFileExistsAPI";
import { deleteFileAPI } from "./fileAPI/deleteFileAPI";
import { uploadFileAPI } from "./fileAPI/uploadFileAPI";
import { uploadMultipleFilesAPI } from "./fileAPI/uploadMultipleFilesAPI";

// AI Resource APIs
import { deleteAIResourceAPI } from "./ai-resourceAPI/deleteAIResourceAPI";
import { getAiResourcesListAPI } from "./ai-resourceAPI/getAIResourceListAPI";
import { getResourceByIdAPI } from "./ai-resourceAPI/getResourceByIDAPI";
import { uploadAiResourceAPI } from "./ai-resourceAPI/uploadAIResourceAPI";

// Exam APIs -OK
import { getQuestionsListAPI, selectQuestionsAPI } from "./examAPI/ExamQuestionsAPI";
import { getResourcesListAPI, selectResourcesAPI} from"./examAPI/ExamResourcesAPI.ts"
import {createExamAPI, publishExamAPI}from "./examAPI/ExamsAPI.ts"
import {submitSingleAnswerAPI, submitBatchAnswersAPI}from "./examAPI/StudentAnswersAPI.ts"
import {
    getExamDetailsAPI,
    getExamFullDetailsAPI,
    getExamQuestionsAPI,
    getExamResourcesAPI,
    getAllAvailableExamsAPI,
    getPublishedExamsByTeacherAPI,
    startExamAPI}
    from"./examAPI/StudentExamsAPI.ts"
// Chat Messages APIs -OK
import { addChatMessage,getChatMessagesByChatId,deleteChatMessageByChatId} from "./chatAPI/ChatMessagesAPI.ts";

// Chat Sessions APIs -OK

import { getChatSessionsByUserId ,deleteChatSessionByUserId,addChatSession} from "./chatAPI/ChatSessionsAPI.ts";
// Class Manage APIs
import  {
    getAllClassesAPI,
    createClassAPI,
    updateClassByIdAPI,
    deleteClassByIdAPI,
    getClassByIdAPI
}from "./classmanageAPI/classesAPI.ts";
import{
    addClassStudentsAPI,
    deleteClassStudentsAPI,
    getClassStudentsByClassIdAPI,
    getInClassByInviteCodeAPI
} from "./classmanageAPI/classStudentsAPI.ts"
import{
    CreateClassAPI,
    deleteClassAPI,
    getAllClassesByTeachersIdAPI,
    inviteStudentByIdAPI,
    inviteStudentByInviteCodeAPI,
    getClassesStudentByClassIdAPI
}from "./classmanageAPI/classTeachersAPI.ts"

//AI APIs
import generateImageAPI from "@/apis/chatAPI/generateImageAPI.ts";
import generateVideoAPI from "@/apis/chatAPI/generateVideoAPI.ts";
import getChatCompletionAPI from "@/apis/chatAPI/getChatCompletionAPI.ts";
import getVideoStatusAPI from "@/apis/chatAPI/getVideoStatusAPI.ts";
import speechToTextAPI from "@/apis/chatAPI/speechToTextAPI.ts";
import textToSpeechAPI from "@/apis/chatAPI/textToSpeechAPI.ts";


export {
    // Auth APIs-OK
    loginAPI,
    logoutAPI,
    refreshTokenAPI,
    getPersonalInfoAPI,
    registerAPI,
    sendVerificationCodeAPI,
    verifyCodeAPI,
    
    // Question APIs-OK
    getAllQuestionsAPI,
    getQuestionsByCreatorIdAPI,
    getQuestionByQuestionIdAPI,
    updateQuestionAPI,
    addQuestionAPI,
    deleteQuestionByIdAPI,
    
    // User APIs-OK
    addUserAPI,
    batchDeleteUsersAPI,
    forceDeleteUserAPI,
    getAllUsersAPI,
    getUserByIdAPI,
    getUserByUsernameAPI,
    getUserListByPageAPI,
    resetPasswordAPI,
    updateUserAPI,

    
    // File APIs-OK
    checkFileExistsAPI,
    deleteFileAPI,
    uploadFileAPI,
    uploadMultipleFilesAPI,
    
    // AI Resource APIs-OK
    deleteAIResourceAPI,
    getAiResourcesListAPI,
    getResourceByIdAPI,
    uploadAiResourceAPI,
    
    // Exam APIs
    getQuestionsListAPI,
    selectQuestionsAPI,
    getResourcesListAPI,
    selectResourcesAPI,
    createExamAPI,
    publishExamAPI,
    submitBatchAnswersAPI,
    submitSingleAnswerAPI,
    getExamDetailsAPI,
    getExamFullDetailsAPI,
    getExamQuestionsAPI,
    getExamResourcesAPI,
    getAllAvailableExamsAPI,
    getPublishedExamsByTeacherAPI,
    startExamAPI,

    // Chat Messages APIs
    addChatMessage,
    deleteChatMessageByChatId,
    getChatMessagesByChatId,

    // Chat Sessions APIs
    addChatSession,
    deleteChatSessionByUserId,
    getChatSessionsByUserId,

    // Class Manage APIs
    getAllClassesAPI,
    CreateClassAPI,
    createClassAPI,
    updateClassByIdAPI,
    deleteClassByIdAPI,
    getClassByIdAPI,
    addClassStudentsAPI,
    deleteClassStudentsAPI,
    getClassStudentsByClassIdAPI,
    getInClassByInviteCodeAPI,
    deleteClassAPI,
    getAllClassesByTeachersIdAPI,
    inviteStudentByIdAPI,
    inviteStudentByInviteCodeAPI,
    getClassesStudentByClassIdAPI,

    //AI APIs
    generateImageAPI,
    generateVideoAPI,
    getChatCompletionAPI,
    getVideoStatusAPI,
    speechToTextAPI,
    textToSpeechAPI,

}